﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entidades;
using System.Configuration;

public partial class UserControl_ucBusquedaPostulacion : System.Web.UI.UserControl
{
    public int IdCategoria
    {
        get
        {
            return int.Parse(ViewState["IdCategoria"].ToString());
        }
        set
        {
            ViewState["IdCategoria"] = value;
            traerCategoria();
            Pagina = 1;
        }
    }

    private void traerCategoria()
    {
        List<Postulacion> lista = new List<Postulacion>();
        int cantxPatina = int.Parse(ConfigurationManager.AppSettings["PostxPagina"]);
        int pag = 0;
        Postulacion.getAllByIdCategoria(ref lista, IdCategoria, Pagina, cantxPatina, ref pag);
        Paginas = pag;
        lblPaginas.Text = Paginas.ToString();
        rptPostulaciones.DataSource = lista;
        rptPostulaciones.DataBind();
        
    }

    private string _Titulo;
    public string Titulo
    {
        get
        {
            return _Titulo;
        }
        set
        {
            _Titulo = value;
            rptPostulaciones.DataSource = Postulacion.getAllByTitulo(value);
            rptPostulaciones.DataBind();
            pnlPagin.Visible = false;
        }
    }


    public int Pagina
    {
        get
        {
            if (ViewState["PagN"] == null)
                ViewState["PagN"] = 1;
            return int.Parse(ViewState["PagN"].ToString());
        }
        set
        {
            ViewState["PagN"] = value;
            cboPagina.SelectedValue = value.ToString();
            if (value == Paginas)
            {
                lnkSiguiente.Visible = false;
                lnkUltima.Visible = false;
            }
            else
            {
                lnkSiguiente.Visible = true;
                lnkUltima.Visible = true;
            }

            if (value == 1)
            {
                lnkPrimera.Visible = false;
                lnkAnterior.Visible = false;
            }
            else
            {
                lnkPrimera.Visible = true;
                lnkAnterior.Visible = true;
            }
            traerCategoria();
        }
    }


    public int Paginas
    {
       
        get
        {
            return int.Parse(ViewState["Paginas"].ToString());
        }
        set
        {
            ViewState["Paginas"] = value;
            if (Paginas > 1)
            {
                pnlPagin.Visible = true;
                cboPagina.Items.Clear();
                for (int i = 1; i <= value; i++)
                {
                    cboPagina.Items.Add(i.ToString());
                }
                cboPagina.SelectedValue = Pagina.ToString();
            }
            else
                pnlPagin.Visible = false;

        }
    }



      protected void lnkPrimera_Click(object sender, EventArgs e)
    {
        Pagina = 1;
    }
    protected void lnkAnterior_Click(object sender, EventArgs e)
    {
        Pagina--;
    }
    protected void lnkSiguiente_Click(object sender, EventArgs e)
    {
        Pagina++;
    }
    protected void lnkUltima_Click(object sender, EventArgs e)
    {
        Pagina = Paginas;
    }
    protected void txtPagina_SelectedIndexChanged(object sender, EventArgs e)
    {
        Pagina = int.Parse(cboPagina.SelectedValue);

    }
}